Linux中定时删除指定日期和天数的log日志文件 |
您所在的位置:网站首页 › latex 指定日期 › Linux中定时删除指定日期和天数的log日志文件 |
不管是测试环境还是正式环境,由于我们运行的服务往往会产生大量的日志文件,如果忘记清理,容易造成磁盘空间不足,因此最好是利用 linux 自带的定时任务功能去定时清理日志. 1.创建 shell脚本,赋权限 vim clean_tomcatlog.sh chmod +x clean_tomcatlog.sh2.编写脚本(可以对多个路径下的文件进行删除,只需将find一行复制改成相应要删除的路径即可) find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log.*" -exec rm -rf {} \; find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log" -exec rm -rf {} \;shell脚本说明: find:Linux查找命令,用户查找指定条件的文件 /opt/rh/log/:需要进行清理的目标目录 -mtime:+10 :数字代表天数 -name "*.log.*":目标文件的类型,带有log的所有文件 -exec:固定写法 rm -rf:强制删除包括目录在内的文件 {} \;:固定写法,一对大括号+空格+\+; 重点说说mtime参数: -mtime n 按照文件的更改时间来找文件,n为整数。 n 表示文件更改时间距离为n天 -n 表示文件更改时间距离在n天以内 +n 表示文件更改时间距离在n天以前 例: -mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。 -mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。 -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件 -mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件 3.测试脚本 ./clean_tomcatlog.sh若文件可以被删除,就说明脚本没问题 4.定时器 查看定时器 crontab -l编辑定时器 crontab -e5.编辑定时任务(我设置的是每月1号0点执行) 0 0 1 * * /data/jinhua/shell/clean_tomcatlog.sh 分 时 日 月 周M: 分钟(0-59)。每分钟用*或者 */1表示 H:小时(0-23)。(0表示0点) D:天(1-31)。 m: 月(1-12)。 d: 一星期内的天(0~6,0为星期天) 6.重启crontab 服务 service crond restart7.查询定时任务 crontab -l即可看到刚创建的定时任务,至此搞定! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |